package com.qfedu.edu.security.encoder;

import com.qfedu.edu.security.utils.MD5;
import org.springframework.security.crypto.password.PasswordEncoder;
import org.springframework.stereotype.Component;

/**
 * @author xiaobobo
 * @title: MyPasswordEncoder
 * @projectName cd-fy-2401-third-project-parent
 * @description: 这个是密码的散列器
 * @date 2024/9/13  14:41
 */
@Component
public class MyPasswordEncoder implements PasswordEncoder {
    /**
     * 散列密码的
     * @param rawPassword
     * @return
     */
    @Override
    public String encode(CharSequence rawPassword) {
        //这里的散列我们是可以随便写的 MD5
        return MD5.encrypt(rawPassword.toString().trim());
    }

    /**
     * 比较密码是否一致的
     *
     * @param rawPassword：页面传递过来的
     * @param encodedPassword:数据库查询出来的
     * @return
     */
    @Override
    public boolean matches(CharSequence rawPassword, String encodedPassword) {
        return encode(rawPassword.toString().trim()).equals(encodedPassword);
    }
}
